package com.fyb.basic.demo;

import java.math.BigDecimal;

/**
 * @Author：MR.FANG
 * @name：BidDecimal
 * 使用BigDecimal需要注意的点
 * 1、比较用 compareTo
 * 2、初始化 用字符串
 * 3、做除法要制定精度 （四舍五入）
 * @Date：2025/7/2 下午3:02
 */
public class BidDecimalDemo {

    public static void main(String[] args) {
        //1、 比较连个BigDecimal 的大小
        BigDecimal bigDecimal1 = new BigDecimal("1");
        BigDecimal bigDecimal2 = new BigDecimal("1.0");

        System.out.println(bigDecimal1 == bigDecimal2); // false
        System.out.println(bigDecimal1.equals(bigDecimal2)); // false
        System.out.println(bigDecimal1.compareTo(bigDecimal2) == 0); // true  // 过滤掉了精度的大小 直接比较连个数的大小

        // 2、BigDecimal的初始化 两种方式有什么问题？
        BigDecimal bigDecimal3 = new BigDecimal("1.2"); // 推荐
        BigDecimal bigDecimal4 = new BigDecimal("1.234");
        BigDecimal a = bigDecimal3.add(bigDecimal4);
        //2.434
        System.out.println(a);


        float b = 1.23f;
        BigDecimal bigDecimal = new BigDecimal(Float.toString(b));
        //1.23
        System.out.println(bigDecimal);

        BigDecimal bigDecimal5 = new BigDecimal(Double.toString(12.56)); // 初始化
        //12.56
        System.out.println(bigDecimal5);
    }
}
